//
//  UIAlertController+Extension.h
//  MrGreatRiver
//
//  Created by Mi Chuang on 2022/3/19.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UIAlertController (Extension)

+ (instancetype)initwithTitle:(NSString *)title
                      message:(NSString *)message
                       titles:(NSArray *)titles
                   itemSelect:(void (^)(NSInteger selectIndex))itemSelectBlock;

+ (instancetype)initwithTitle:(NSString *)title
                      message:(NSString *)message
                       titles:(NSArray *)titles
                  cancelTitle:(NSString *)cancelTitle
                   itemSelect:(void (^)(NSInteger selectIndex))itemSelectBlock;

+ (instancetype)initwithTitle:(NSString *)title
                      message:(NSString *)message
                       titles:(NSArray *)titles
                 buttonColors:(NSArray *)colors
                   itemSelect:(void (^)(NSInteger selectIndex))itemSelectBlock;

+ (instancetype)initwithTitle:(NSString *)title
                      message:(NSString *)message
                       titles:(NSArray *)titles
                 cancelTitile:(NSString *)title
                 buttonColors:(NSArray * __nullable)colors
                   itemSelect:(void (^)(NSInteger selectIndex))itemSelectBlock;

+ (instancetype)initwithTitle:(NSString *)title
                      message:(NSString *)message
                       titles:(NSArray *)titles
                   alertStyle:(UIAlertControllerStyle)alertStyle
                   itemSelect:(void (^)(NSInteger selectIndex))itemSelectBlock;

+ (instancetype)initwithTitle:(NSString *)title
                      message:(NSString *)message
                       titles:(NSArray *)titles
                  cancelTitle:(NSString *)cancelTitle
                   alertStyle:(UIAlertControllerStyle)alertStyle
                   itemSelect:(void (^)(NSInteger selectIndex))itemSelectBlock;

+ (instancetype)initwithTitle:(NSString *)title
                      message:(NSString *)message
                       titles:(NSArray *)titles
                 buttonColors:(NSArray *)colors
                   alertStyle:(UIAlertControllerStyle)alertStyle
                   itemSelect:(void (^)(NSInteger selectIndex))itemSelectBlock;

+ (instancetype)initwithTitle:(NSString *)title
                      message:(NSString *)message
                       titles:(NSArray *)titles
                 cancelTitile:(NSString *)cancelTitle
                 buttonColors:(NSArray *)colors
                   alertStyle:(UIAlertControllerStyle)alertStyle
                   itemSelect:(void (^)(NSInteger))itemSelectBlock;

@end

NS_ASSUME_NONNULL_END
